package org.hzero.order.domain.entity;

import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.validation.constraints.NotNull;

import com.fasterxml.jackson.annotation.JsonInclude;

import javax.validation.constraints.NotBlank;
import io.choerodon.mybatis.domain.AuditDomain;
import io.choerodon.mybatis.annotation.ModifyAudit;
import io.choerodon.mybatis.annotation.VersionAudit;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import java.util.Date;

/**
 * 通知公告表
 *
 * @author hyc 2021-03-11 14:13:44
 */
@ApiModel("通知公告表")
@VersionAudit
@ModifyAudit
@JsonInclude(value = JsonInclude.Include.NON_NULL)
@Table(name = "sys_notice")
public class Notice extends AuditDomain {

    public static final String FIELD_NOTICE_ID = "noticeId";
    public static final String FIELD_NOTICE_TITLE = "noticeTitle";
    public static final String FIELD_NOTICE_TYPE = "noticeType";
    public static final String FIELD_NOTICE_CONTENT = "noticeContent";
    public static final String FIELD_STATUS = "status";
    public static final String FIELD_CREATE_BY = "createBy";
    public static final String FIELD_CREATE_TIME = "createTime";
    public static final String FIELD_UPDATE_BY = "updateBy";
    public static final String FIELD_UPDATE_TIME = "updateTime";
    public static final String FIELD_REMARK = "remark";

    //
    // 业务方法(按public protected private顺序排列)
    // ------------------------------------------------------------------------------

    //
    // 数据库字段
    // ------------------------------------------------------------------------------


    @ApiModelProperty("公告ID")
    @Id
    @GeneratedValue
    private Long noticeId;
    @ApiModelProperty(value = "公告标题",required = true)
    @NotBlank
    private String noticeTitle;
    @ApiModelProperty(value = "公告类型（1通知 2公告）",required = true)
    @NotBlank
    private String noticeType;
   @ApiModelProperty(value = "公告内容")    
    private String noticeContent;
   @ApiModelProperty(value = "公告状态（0正常 1关闭）")    
    private String status;
   @ApiModelProperty(value = "创建者")    
    private String createBy;
   @ApiModelProperty(value = "创建时间")    
    private Date createTime;
   @ApiModelProperty(value = "更新者")    
    private String updateBy;
   @ApiModelProperty(value = "更新时间")    
    private Date updateTime;
   @ApiModelProperty(value = "备注")    
    private String remark;

	//
    // 非数据库字段
    // ------------------------------------------------------------------------------

    //
    // getter/setter
    // ------------------------------------------------------------------------------

    /**
     * @return 公告ID
     */
	public Long getNoticeId() {
		return noticeId;
	}

	public void setNoticeId(Long noticeId) {
		this.noticeId = noticeId;
	}
    /**
     * @return 公告标题
     */
	public String getNoticeTitle() {
		return noticeTitle;
	}

	public void setNoticeTitle(String noticeTitle) {
		this.noticeTitle = noticeTitle;
	}
    /**
     * @return 公告类型（1通知 2公告）
     */
	public String getNoticeType() {
		return noticeType;
	}

	public void setNoticeType(String noticeType) {
		this.noticeType = noticeType;
	}
    /**
     * @return 公告内容
     */
	public String getNoticeContent() {
		return noticeContent;
	}

	public void setNoticeContent(String noticeContent) {
		this.noticeContent = noticeContent;
	}
    /**
     * @return 公告状态（0正常 1关闭）
     */
	public String getStatus() {
		return status;
	}

	public void setStatus(String status) {
		this.status = status;
	}
    /**
     * @return 创建者
     */
	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}
    /**
     * @return 创建时间
     */
	public Date getCreateTime() {
		return createTime;
	}

	public void setCreateTime(Date createTime) {
		this.createTime = createTime;
	}
    /**
     * @return 更新者
     */
	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}
    /**
     * @return 更新时间
     */
	public Date getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(Date updateTime) {
		this.updateTime = updateTime;
	}
    /**
     * @return 备注
     */
	public String getRemark() {
		return remark;
	}

	public void setRemark(String remark) {
		this.remark = remark;
	}

}
